package com.tony.fileserver.service;

import com.tony.fileserver.transferobject.FileDTO;

import java.util.List;

/**
 * Created by wxt36 on 2017/6/15.
 */
public interface FileServerService {
    /**
     * 保存文件
     *
     * @param file 文件对象
     * @return 文件信息
     */
    FileDTO saveFile(FileDTO file);

    /**
     * 保存文件列表
     *
     * @param files 文件对象
     * @return 文件列表
     */
    List<FileDTO> saveFiles(List<FileDTO> files);

    /**
     * 删除文件
     *
     * @param id 文件编号
     */
    void removeFile(String id);

    /**
     * 根据文件ID获取文件信息
     *
     * @param id 文件编号
     * @return 文件信息
     */
    FileDTO getFileById(String id);

    /**
     * 获取文件总数
     *
     * @return 文件数目
     */
    long countFiles();

    /**
     * 分页查询，按上传时间降序
     *
     * @param pageIndex 页码
     * @param pageSize  页面大小
     * @return 文件列表
     */
    List<FileDTO> listFiles(int pageIndex, int pageSize);

    /**
     * 分页查询，按上传时间升序或降序排序
     * @param pageIndex 页码
     * @param pageSize 页面大小
     * @param desc 是否是按照上传时间降序排序
     * @return 文件列表
     */
    List<FileDTO> listFiles(int pageIndex, int pageSize, boolean desc);
}
